'****************************************************************************'
'                                                                            '
' Copyright (C) 2010 Muhammad alaa                                           '
'                                                                            '
' This program is free software; you can redistribute it and/or modify       '
' it under the terms of the GNU General Public License as published by       '
' the Free Software Foundation; either version 2 of the License, or          '
' (at your option) any later version.                                        '
'                                                                            '
' This program is distributed in the hope that it will be useful,            '
' but WITHOUT ANY WARRANTY; without even the implied warranty of             '
' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the              '
' GNU General Public License for more details.                               '
'                                                                            '
' You should have received a copy of the GNU General Public License along    '
' with this program; if not, write to the Free Software Foundation, Inc.,    '
' 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.                '
'                                                                            '
'****************************************************************************'

Namespace OLE

    <ComImport()> _
    <InterfaceType(ComInterfaceType.InterfaceIsIUnknown)> _
    <Guid(IID.OLE.IOleObject)> _
    Public Interface IOleObject
        <PreserveSig()> Function SetClientSite(ByRef pClientSite As IOleClientSite) As <MarshalAs(UnmanagedType.Error)> Integer
        <PreserveSig()> Function GetClientSite(<Out()> ByRef ppClientSite As IOleClientSite) As <MarshalAs(UnmanagedType.Error)> Integer
        <PreserveSig()> Function SetHostNames(<MarshalAs(UnmanagedType.LPWStr)> ByVal szContainerApp As String, <MarshalAs(UnmanagedType.LPWStr)> ByVal szContainerObj As String) As <MarshalAs(UnmanagedType.Error)> Integer
        <PreserveSig()> Function Close(ByVal dwSaveOption As OleClose) As <MarshalAs(UnmanagedType.Error)> Integer
        <PreserveSig()> Function SetMoniker(ByVal dwWhichMoniker As OleWhichMK, ByRef pmk As ICOM.IMoniker) As <MarshalAs(UnmanagedType.Error)> Integer
        <PreserveSig()> Function GetMoniker(ByVal dwAssign As OleGetMoniker, ByVal dwWhichMoniker As OleWhichMK, <Out()> ByRef moniker As ICOM.IMoniker) As <MarshalAs(UnmanagedType.Error)> Integer
        <PreserveSig()> Function InitFromData(ByRef pDataObject As IDataObject, <MarshalAs(UnmanagedType.Bool)> ByVal fCreation As Boolean, ByVal dwReserved As UInteger) As <MarshalAs(UnmanagedType.Error)> Integer
        <PreserveSig()> Function GetClipboardData(ByVal dwReserved As UInteger, <Out()> ByRef data As IDataObject) As <MarshalAs(UnmanagedType.Error)> Integer
        <PreserveSig()> Function DoVerb(ByVal iVerb As Integer, ByRef lpmsg As Msg, ByRef pActiveSite As IOleClientSite, ByVal lindex As Integer, ByVal hwndParent As IntPtr, ByRef lprcPosRect As Rect) As <MarshalAs(UnmanagedType.Error)> Integer
        <PreserveSig()> Function EnumVerbs(<Out()> ByRef e As IEnumOLEVERB) As <MarshalAs(UnmanagedType.Error)> Integer
        <PreserveSig()> Function OleUpdate() As <MarshalAs(UnmanagedType.Error)> Integer
        <PreserveSig()> Function IsUpToDate() As <MarshalAs(UnmanagedType.Error)> Integer
        <PreserveSig()> Function GetUserClassID(<Out()> ByRef pClsid As Guid) As <MarshalAs(UnmanagedType.Error)> Integer
        <PreserveSig()> Function GetUserType(ByVal dwFormOfType As UserClassType, <Out(), MarshalAs(UnmanagedType.LPWStr)> ByRef userType As String) As <MarshalAs(UnmanagedType.Error)> Integer
        <PreserveSig()> Function SetExtent(ByVal dwDrawAspect As DVAspect, ByRef pSizel As Size) As <MarshalAs(UnmanagedType.Error)> Integer
        <PreserveSig()> Function GetExtent(ByVal dwDrawAspect As DVAspect, <Out()> ByRef pSizel As Size) As <MarshalAs(UnmanagedType.Error)> Integer
        <PreserveSig()> Function Advise(ByRef pAdvSink As IAdviseSink, <Out()> ByRef cookie As UInteger) As <MarshalAs(UnmanagedType.Error)> Integer
        <PreserveSig()> Function Unadvise(ByVal dwConnection As UInteger) As <MarshalAs(UnmanagedType.Error)> Integer
        <PreserveSig()> Function EnumAdvise(<Out()> ByRef ppenumAdvise As IEnumSTATDATA) As <MarshalAs(UnmanagedType.Error)> Integer
        <PreserveSig()> Function GetMiscStatus(ByVal dwAspect As DVAspect, <Out()> ByRef pdwMisc As UInteger) As <MarshalAs(UnmanagedType.Error)> Integer
        <PreserveSig()> Function SetColorScheme(ByRef pLogpal As LOGPALETTE) As <MarshalAs(UnmanagedType.Error)> Integer
    End Interface

End Namespace
